package com.epin.business.system.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.epin.business.system.entity.User;
import com.epin.business.system.entity.bo.UserNormal;

/**
 * <p>
 * Mapper接口
 * </p>
 *
 * @author fujiajun
 * @since 2017-10-30
 */
public interface UserMapper extends BaseMapper<User> {
	
	/**
	 * <p>获取用户信息列表</p>
	 * 
	 * @param page 分页器
	 * @param params 参数表
	 * <p>
	 * 		可添加数据：
	 * 		<p>keyword：关键词</p>
	 * 		<p>companyId：当前公司ID</p>
	 * 		<p>status：用户状态</p>
	 * </p>
	 * 
	 * @return List<>
	 */
	public List<UserNormal> selectUserList(Pagination page, Map<String, Object> params);
	
	
	/**
	 * <p>获取用户信息</p>
	 * 
	 * @param parameter 参数表
	 * 
	 * <p>
	 * 		可添加数据：
	 * 		<p>accountName：用户名</p>
	 * 		<p>userId：用户ID</p>
	 * 		<p>status：用户状态</p>
	 * </p>
	 * 
	 * @return UserNormal
	 */
	public UserNormal selectUserByParams(Map<String, Object> parameter);
	
	
	/**
	 * <p>获取同公司的用户列表</p>
	 * 
	 * @param companyId 公司ID
	 * 
	 * @return List<>
	 */
	public List<UserNormal> selectUserListByCompanyId(@Param("companyId") int companyId);
	
	
	/**
	 * <p>获取通群组的用户列表</p>
	 * 
	 * @param deptId 群组ID
	 * 
	 * @return List<>
	 */
	public List<UserNormal> selectUserListByDeptId(@Param("deptId")Integer deptId);
	
}